The Data Model Resource Book by Silverston Len; Agnew Paul & Paul Agnew
Author:Silverston, Len; Agnew, Paul & Paul Agnew
Language: eng
Format: epub
Publisher: WILEY & SONS
Published: 2011-03-13T16:00:00+00:00
Level 1 Contact Mechanism Pattern
A common approach for data models (and data modelers) is to model the specific contact mechanism needs for an enterprise in order to better understand these requirements. This type of approach should show all of the different types of contact mechanisms for an entity, as well as the different classifications of the contact mechanism, such as the purposes, usages, and/or priority of the contact mechanisms. One option for accommodating this need is to create a very specific data model of contact mechanisms, and you can use the Level 1 Contact Mechanism Pattern as a template for this approach. This pattern will provide a very easy approach to understanding the data requirements to help start creation of a model where each of the contact mechanisms is defined as an attribute of the containing or owning entity. The purpose or usage is explicitly shown in the attribute name, for example, ship to postal address part 1, where “postal address” is the type of contact mechanism, “ship to” is the purpose, and “part 1” represents the first line of the address.
As we have pointed out in other chapters, many data modelers find it very difficult to reconcile this style of data modeling with more normalized styles of logical data modeling that may view these attributes as repeating groups (because there could be many “ship to” addresses) that need to be broken out into their own entity in order to allow any number of contact mechanisms. Thus, you may view this type of model as bad modeling that needs to be unlearned and discarded. But is this really the case? Yes, this style of model has flaws and weaknesses that need to be understood; for example, when more contact mechanisms are required or additional types of contact mechanisms are required, the data model needs to be changed to accommodate these needs. However, this type of model also has benefits that should also be understood. They can be useful under some circumstances, for example, if the number and type of contact mechanisms are very stable and unchanging or if you need a means to understand the data requirements by modeling them very specifically. Furthermore, this type of specific modeling appears in many legacy implementations. For this reason, a data professional should know its strengths and weaknesses.
In this type of data modeling the data professional explicitly captures the contact mechanism information as attributes of the entity. For example, a data professional may interview a salesperson and hear her say something like, “We capture the street name, an apartment number, the zip code of the address, the city, the state, an email address, and a contact number. This is enough for us to process the order!” This leads the data professional to capture attributes of order address part 1, order apt address part (for the apartment number), order postal code (for the zip code), order city, order state, order email address, and sales contact number.
But as a data modeler you may ask yourself,
Download
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.
Exploring Deepfakes by Bryan Lyon and Matt Tora(7493)
Robo-Advisor with Python by Aki Ranin(7367)
Offensive Shellcode from Scratch by Rishalin Pillay(5979)
Ego Is the Enemy by Ryan Holiday(4904)
Microsoft 365 and SharePoint Online Cookbook by Gaurav Mahajan Sudeep Ghatak Nate Chamberlain Scott Brewster(4763)
Management Strategies for the Cloud Revolution: How Cloud Computing Is Transforming Business and Why You Can't Afford to Be Left Behind by Charles Babcock(4422)
Python for ArcGIS Pro by Silas Toms Bill Parker(4056)
Elevating React Web Development with Gatsby by Samuel Larsen-Disney(3759)
Machine Learning at Scale with H2O by Gregory Keys | David Whiting(3475)
Learning C# by Developing Games with Unity 2021 by Harrison Ferrone(3267)
Speed Up Your Python with Rust by Maxwell Flitton(3222)
Liar's Poker by Michael Lewis(3197)
OPNsense Beginner to Professional by Julio Cesar Bueno de Camargo(3184)
Extreme DAX by Michiel Rozema & Henk Vlootman(3159)
Agile Security Operations by Hinne Hettema(3111)
Linux Command Line and Shell Scripting Techniques by Vedran Dakic and Jasmin Redzepagic(3102)
Essential Cryptography for JavaScript Developers by Alessandro Segala(3074)
Cryptography Algorithms by Massimo Bertaccini(2990)
AI-Powered Commerce by Andy Pandharikar & Frederik Bussler(2971)
